﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Ecommerce.Web.Code;
using Ecommerce.Model;
using System.Configuration;

namespace Ecommerce.Web
{
    public partial class FormaPagamento : BasePage
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                if (Carrinho.Instance.Frete.Equals(0))
                {
                    Response.Redirect("~/CarrinhoCompras.aspx");
                }

                if (Carrinho.Instance.IdentificadorEndereco.Equals(0))
                {
                    Response.Redirect("~/SelecionarEndereco.aspx");
                }

                this.CarregarCarrinho();
                this.CarregarValidadeCartaoCredito();
                this.ctrlProgressoCheckout.CarregarDadosPedido();
                this.ctrlProgressoCheckout.CarregarEnderecoEntrega();
                this.ctrlProgressoCheckout.MostrarDadosEndereco(true);
            }
        }

        private void CarregarValidadeCartaoCredito()
        {
            //for (int i = 1; i < 32; i++)
            //{
            //    ddlMesValidade.Items.Add(i.ToString().Length == 1 ? "0" + i.ToString() : i.ToString());
            //}

            //for (int i = DateTime.Now.Year; i < DateTime.Now.Year + 10; i++)
            //{
            //    ddlAnoValidade.Items.Add(i.ToString());
            //}
        }


        private void CarregarCarrinho()
        {
            //rptCarrinho.DataSource = Carrinho.Instance.Items;
            //rptCarrinho.DataBind();

            //if (Carrinho.Instance.Items.Count > 0)
            //{
            //    liFrete.Text = Carrinho.Instance.Frete.ToString("c");
            //    liSubtotal.Text = Carrinho.Instance.SubTotal.ToString("c");
            //    liTotal.Text = (Carrinho.Instance.Frete + Carrinho.Instance.SubTotal).ToString("c");
            //}
        }

        protected void rptCarrinho_ItemDataBound(object sender, RepeaterItemEventArgs e)
        {
            if (e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.Item)
            {
                tb_ipe_item_pedido item = (tb_ipe_item_pedido)e.Item.DataItem;

                Literal liProduto = (Literal)e.Item.FindControl("liProduto");
                Literal liPreco = (Literal)e.Item.FindControl("liPreco");
                Literal liQuantidade = (Literal)e.Item.FindControl("liQuantidade");
                Literal liTotal = (Literal)e.Item.FindControl("liTotal");

                liProduto.Text = item.tb_pro_produto.pro_nom_produto;
                liPreco.Text = item.ipe_vlr_item.ToString("c");
                liQuantidade.Text = item.ipe_qtd_item_pedido.ToString();
                liTotal.Text = (item.ipe_vlr_item * item.ipe_qtd_item_pedido).ToString("c");
            }
        }

        protected void lbContinuar_Click(object sender, EventArgs e)
        {
            Carrinho.Instance.FormaPagamento = this.ObterFormaPagamento();
            Response.Redirect("~/FecharPedido.aspx");
        }

        private string ObterFormaPagamento()
        {
            //if (rbBoleto.Checked)
            //    return "BOL";
            //else if (rbDebito.Checked)
            //    return "DEB";
            //else if (rbDiners.Checked)
            //    return "DIN";
            //else if (rbMaster.Checked)
            //    return "MAS";
            //else if (rbVisa.Checked)
            //    return "VIS";

            return string.Empty;
        }

        protected void btnEfetuarPagamentoCartao_Click(object sender, EventArgs e)
        {
            Page.Validate();
            if (Page.IsValid)
            {
                //int parcelas = int.Parse(ddlParcelas.SelectedValue);

                //Carrinho.Instance.FormaPagamento = this.ObterFormaPagamento();
                //Carrinho.Instance.DadosCartaoCredito = new Pagamento.CartaoCredito.EAutorizacao();
                //Carrinho.Instance.DadosCartaoCredito.CodigoSegurancaCartao = txtCodigoSeguranca.Text.Trim();
                //Carrinho.Instance.DadosCartaoCredito.NumeroCartao = txtCartao.Text.Replace("-", "").Trim();
                //Carrinho.Instance.DadosCartaoCredito.Portador = txtNome.Text.Trim();
                //Carrinho.Instance.DadosCartaoCredito.ValidadeAno = ddlAnoValidade.SelectedValue.Substring(2, 2);
                //Carrinho.Instance.DadosCartaoCredito.ValidadeMes = ddlMesValidade.SelectedValue;
                //Carrinho.Instance.DadosCartaoCredito.Filiacao = ConfigurationManager.AppSettings["numeroEstabelecimento"];

                //if (parcelas.Equals(1))
                //{
                //    Carrinho.Instance.DadosCartaoCredito.Transacao = "04";
                //    Carrinho.Instance.DadosCartaoCredito.Parcelas = "00";
                //}
                //else
                //{
                //    Carrinho.Instance.DadosCartaoCredito.Transacao = "08";
                //    Carrinho.Instance.DadosCartaoCredito.Parcelas = ddlParcelas.SelectedValue;
                //}

                //TODO: Remover o código para ir a produção.

                //Carrinho.Instance.DadosCartaoCredito.Total = "0.20";

                //#if DEBUG
                //    Carrinho.Instance.DadosCartaoCredito.Total = "0.01";
                //#else
                //    Carrinho.Instance.DadosCartaoCredito.Total = Carrinho.Instance.Total.ToString("c").Replace("R$", "").Replace(".", "").Replace(",", ".");
                //#endif

                Response.Redirect("~/FecharPedido.aspx");
            }
        }

    }
}